package cn.xawl.interview.thread;

import java.util.Objects;
import java.util.concurrent.CountDownLatch;

/**
 * @author lh
 * @date 2020/08/26 14:15:25
 *
 * CountDownLatch案例：
 * 战国时期，秦国灭六国后才统一。
 * 条件：必须消灭全部六国，才能统一
 *
 * 未使用CountDownLatch：
 * 秦国灭掉六国，统一天下！
 * 齐国	国被消灭
 * 楚国	国被消灭
 * 燕国	国被消灭
 * 赵国	国被消灭
 * 魏国	国被消灭
 * 韩国	国被消灭
 *
 **/
public class CountDownLatchDemo {
    public static void main(String[] args) throws InterruptedException {
        CountDownLatch countDownLatch = new CountDownLatch(Country.values().length);
        for (int i = 1; i <= 6; i++) {
            new Thread(() -> {
                System.out.println(Thread.currentThread().getName() + "\t国被消灭");
                countDownLatch.countDown();
            }, Objects.requireNonNull(Country.getCountryByIndex(i))).start();
        }
        countDownLatch.await();
        System.out.println("秦国灭掉六国，统一天下！");
    }

}
